<?hh
/**
 * Copyright (c) 2014, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the "hack" directory of this source tree.
 *
 *
 */

/* All keywords are allowed as member. */

class A {
  public int $abstract = 1;
  public int $and = 1;
  public int $array = 1;
  public int $arraykey = 1;
  public int $as = 1;
  public int $attribute = 1;
  public int $binary = 1;
  public int $bool = 1;
  public int $boolean = 1;
  public int $break = 1;
  public int $case = 1;
  public int $catch = 1;
  public int $category = 1;
  public int $children = 1;
  public int $class = 1;
  public int $classname = 1;
  public int $clone = 1;
  public int $const = 1;
  public int $continue = 1;
  public int $coroutine = 1;
  public int $darray = 1;
  public int $declare = 1;
  public int $default = 1;
  public int $dict = 1;
  public int $do = 1;
  public int $double = 1;
  public int $echo = 1;
  public int $else = 1;
  public int $empty = 1;
  public int $enddeclare = 1;
  public int $endfor = 1;
  public int $endforeach = 1;
  public int $endif = 1;
  public int $endswitch = 1;
  public int $endwhile = 1;
  public int $enum = 1;
  public int $eval = 1;
  public int $extends = 1;
  public int $fallthrough = 1;
  public int $false = 1;
  public int $final = 1;
  public int $finally = 1;
  public int $float = 1;
  public int $for = 1;
  public int $foreach = 1;
  public int $from = 1;
  public int $global = 1;
  public int $goto = 1;
  public int $if = 1;
  public int $implements = 1;
  public int $include = 1;
  public int $include_once = 1;
  public int $inout = 1;
  public int $instanceof = 1;
  public int $insteadof = 1;
  public int $int = 1;
  public int $integer = 1;
  public int $interface = 1;
  public int $is = 1;
  public int $isset = 1;
  public int $keyset = 1;
  public int $let = 1;
  public int $list = 1;
  public int $mixed = 1;
  public int $namespace = 1;
  public int $new = 1;
  public int $newtype = 1;
  public int $noreturn = 1;
  public int $null = 1;
  public int $num = 1;
  public int $object = 1;
  public int $or = 1;
  public int $parent = 1;
  public int $print = 1;
  public int $private = 1;
  public int $protected = 1;
  public int $public = 1;
  public int $real = 1;
  public int $require = 1;
  public int $require_once = 1;
  public int $resource = 1;
  public int $return = 1;
  public int $self = 1;
  public int $shape = 1;
  public int $static = 1;
  public int $string = 1;
  public int $super = 1;
  public int $suspend = 1;
  public int $switch = 1;
  public int $this = 1;
  public int $throw = 1;
  public int $trait = 1;
  public int $true = 1;
  public int $try = 1;
  public int $type = 1;
  public int $unset = 1;
  public int $use = 1;
  public int $using = 1;
  public int $var = 1;
  public int $varray = 1;
  public int $vec = 1;
  public int $void = 1;
  public int $where = 1;
  public int $while = 1;
  public int $xor = 1;
  public int $yield = 1;


  public function foo() {
    $this->abstract = 1;
    $this->$and = 1;
    $this->array = 1;
    $this->arraykey = 1;
    $this->as = 1;
    $this->attribute = 1;
    $this->binary = 1;
    $this->bool = 1;
    $this->boolean = 1;
    $this->break = 1;
    $this->case = 1;
    $this->catch = 1;
    $this->category = 1;
    $this->children = 1;
    $this->class = 1;
    $this->classname = 1;
    $this->clone = 1;
    $this->const = 1;
    $this->continue = 1;
    $this->coroutine = 1;
    $this->darray = 1;
    $this->declare = 1;
    $this->default = 1;
    $this->dict = 1;
    $this->do = 1;
    $this->double = 1;
    $this->echo = 1;
    $this->else = 1;
    $this->enddeclare = 1;
    $this->endfor = 1;
    $this->endforeach = 1;
    $this->endif = 1;
    $this->endswitch = 1;
    $this->endwhile = 1;
    $this->enum = 1;
    $this->eval = 1;
    $this->extends = 1;
    $this->fallthrough = 1;
    $this->false = 1;
    $this->final = 1;
    $this->finally = 1;
    $this->float = 1;
    $this->for = 1;
    $this->foreach = 1;
    $this->from = 1;
    $this->global = 1;
    $this->goto = 1;
    $this->if = 1;
    $this->implements = 1;
    $this->include = 1;
    $this->include_once = 1;
    $this->inout = 1;
    $this->instanceof = 1;
    $this->insteadof = 1;
    $this->int = 1;
    $this->integer = 1;
    $this->interface = 1;
    $this->is = 1;
    $this->isset = 1;
    $this->keyset = 1;
    $this->let = 1;
    $this->list = 1;
    $this->mixed = 1;
    $this->namespace = 1;
    $this->new = 1;
    $this->newtype = 1;
    $this->noreturn = 1;
    $this->null = 1;
    $this->num = 1;
    $this->object = 1;
    $this->or = 1;
    $this->parent = 1;
    $this->print = 1;
    $this->private = 1;
    $this->protected = 1;
    $this->public = 1;
    $this->real = 1;
    $this->require = 1;
    $this->require_once = 1;
    $this->resource = 1;
    $this->return = 1;
    $this->self = 1;
    $this->shape = 1;
    $this->static = 1;
    $this->string = 1;
    $this->super = 1;
    $this->suspend = 1;
    $this->switch = 1;
    $this->this = 1;
    $this->throw = 1;
    $this->trait = 1;
    $this->true = 1;
    $this->try = 1;
    $this->type = 1;
    $this->unset = 1;
    $this->use = 1;
    $this->using = 1;
    $this->var = 1;
    $this->varray = 1;
    $this->vec = 1;
    $this->void = 1;
    $this->where = 1;
    $this->while = 1;
    $this->xor = 1;
    $this->yield = 1;
  }
}

$a = new A();

$a->and = 1;
$a->array = 1;
$a->arraykey = 1;
$a->as = 1;
$a->attribute = 1;
$a->binary = 1;
$a->bool = 1;
$a->boolean = 1;
$a->break = 1;
$a->case = 1;
$a->catch = 1;
$a->category = 1;
$a->children = 1;
$a->class = 1;
$a->classname = 1;
$a->clone = 1;
$a->const = 1;
$a->continue = 1;
$a->coroutine = 1;
$a->darray = 1;
$a->declare = 1;
$a->default = 1;
$a->dict = 1;
$a->do = 1;
$a->double = 1;
$a->echo = 1;
$a->else = 1;
$a->empty = 1;
$a->endfor = 1;
$a->endforeach = 1;
$a->endif = 1;
$a->endswitch = 1;
$a->endwhile = 1;
$a->enum = 1;
$a->eval = 1;
$a->extends = 1;
$a->fallthrough = 1;
$a->false = 1;
$a->final = 1;
$a->finally = 1;
$a->float = 1;
$a->for = 1;
$a->foreach = 1;
$a->from = 1;
$a->global = 1;
$a->goto = 1;
$a->if = 1;
$a->implements = 1;
$a->include = 1;
$a->include_once = 1;
$a->inout = 1;
$a->instanceof = 1;
$a->insteadof = 1;
$a->int = 1;
$a->integer = 1;
$a->interface = 1;
$a->is = 1;
$a->isset = 1;
$a->keyset = 1;
$a->let = 1;
$a->list = 1;
$a->mixed = 1;
$a->namespace = 1;
$a->new = 1;
$a->newtype = 1;
$a->noreturn = 1;
$a->null = 1;
$a->num = 1;
$a->object = 1;
$a->or = 1;
$a->parent = 1;
$a->print = 1;
$a->private = 1;
$a->protected = 1;
$a->public = 1;
$a->real = 1;
$a->require = 1;
$a->require_once = 1;
$a->resource = 1;
$a->return = 1;
$a->self = 1;
$a->shape = 1;
$a->static = 1;
$a->string = 1;
$a->super = 1;
$a->suspend = 1;
$a->switch = 1;
$a->this = 1;
$a->throw = 1;
$a->trait = 1;
$a->true = 1;
$a->try = 1;
$a->type = 1;
$a->unset = 1;
$a->use = 1;
$a->using = 1;
$a->var = 1;
$a->varray = 1;
$a->vec = 1;
$a->void = 1;
$a->where = 1;
$a->while = 1;
$a->xor = 1;
$a->yield = 1;
